package flc.ast;

import android.view.View;

import androidx.annotation.NonNull;


import java.util.ArrayList;

import java.util.List;

import flc.ast.fragment.DrawFragment;
import flc.ast.fragment.LibraryFragment;
import flc.ast.databinding.ActivityHomeBinding;
import flc.ast.fragment.HomeFragment;

import flc.ast.fragment.MyFragment;
import flc.ast.fragment.SignInFragment;
import stark.common.basic.base.BaseTabFragmentHomeActivity;
import stark.common.basic.event.EventStatConstant;
import stark.common.basic.event.EventStatProxy;
import stark.common.basic.utils.StatusBarUtils;


public class HomeActivity extends BaseTabFragmentHomeActivity<ActivityHomeBinding> {

    @Override
    protected int getPageType() {
        return EventStatConstant.PAGE_TAB_HOME;
    }

    @Override
    protected void initView() {
        super.initView();
        EventStatProxy.getInstance().statLaunch(this);
    }

    @Override
    protected void onHandleStatusBar() {
        super.onHandleStatusBar();
        StatusBarUtils.setSystemStatusTextColor(true, this);

    }

    @NonNull
    @Override
    protected List<BaseTabFragmentHomeActivity<ActivityHomeBinding>.FragmentViewBinder> getFragmentViewBinders() {
        List<FragmentViewBinder> listFragment = new ArrayList<>();
        listFragment.add(new FragmentViewBinder(HomeFragment.class, R.id.llHome));
        listFragment.add(new FragmentViewBinder(LibraryFragment.class, R.id.llLibrary));
        listFragment.add(new FragmentViewBinder(DrawFragment.class, R.id.llDraw));
        listFragment.add(new FragmentViewBinder(SignInFragment.class, R.id.llSignIn));
        listFragment.add(new FragmentViewBinder(MyFragment.class, R.id.llMy));
        return listFragment;
    }

    @Override
    protected void onFragmentViewClick(View view) {
        clearSelection();
        switch (view.getId()) {
            case R.id.llHome:
                mDataBinding.ivHome.setImageResource(R.drawable.tab_1);
                break;
            case R.id.llLibrary:
                mDataBinding.ivLibrary.setImageResource(R.drawable.tab_2);
                break;
            case R.id.llDraw:
                mDataBinding.ivDraw.setImageResource(R.drawable.tab_3);
                break;
            case R.id.llSignIn:
                mDataBinding.ivSignIn.setImageResource(R.drawable.tab_4);
                break;
            case R.id.llMy:
                mDataBinding.ivMy.setImageResource(R.drawable.tab_5);
                break;
        }
    }

    @Override
    protected int getFragmentContainerId() {
        return R.id.flHome;
    }

    @Override
    protected int onCreate() {
        return R.layout.activity_home;
    }

    private void clearSelection() {
        mDataBinding.ivHome.setImageResource(R.drawable.tab_1a);
        mDataBinding.ivLibrary.setImageResource(R.drawable.tab_2a);
        mDataBinding.ivDraw.setImageResource(R.drawable.tab_3a);
        mDataBinding.ivSignIn.setImageResource(R.drawable.tab_4a);
        mDataBinding.ivMy.setImageResource(R.drawable.tab_5a);
    }

}